<?php
class Listas_CriteriosController extends Zend_Controller_Action {
    private $nav;
    private $infoLista;

    public function init() {
        parent::init();
        $sesionListas = new Zend_Session_Namespace("LISTAS");
        $this->infoLista = $sesionListas->infoLista;
        if(empty($this->infoLista)) {
            $this->_helper->redirector("ilegal", "error", "default");
        }
        $this->view->infoLista = $this->infoLista;

        $this->nav = new App_Util_Navegacion();
        $titulo_secciones="";
        if($this->infoLista["tipolista"] == "C") {
            $this->nav->agregar_navegacion("Listas de completitud", "/listas/completitud/index");
            $titulo_secciones = "Criterios de lista de completitud";
        } elseif($this->infoLista["tipolista"] == "V") {
            $this->nav->agregar_navegacion("Listas de valoraciones", "/listas/valoraciones/index");
            $titulo_secciones = "Criterios de valoración";
        }
        $this->nav->agregar_navegacion("{$titulo_secciones} :: {$this->infoLista["nombre"]}");
        
        $this->view->nav = $this->nav;
    }

    public function indexAction() {
        $escalasService = new Listas_Model_Escalas();
        $form = new Listas_Form_Criterio();
        
        if($this->getRequest()->isGet()) {
            $form->getElement("codlista")->setValue($this->infoLista["codlista"]);
            if ($this->_hasParam("modificar")) {
				$codescala = $this->_getParam("modificar");
				$form->getElement("btnSubmit")->setLabel("Modificar");
				$form->populate($escalasService->getEscala($codescala));
			}
			if ($this->_hasParam("eliminar")) {
				$codescala = $this->_getParam("eliminar");
				try {
					$escalasService->eliminarEscala($codescala);
					$this->view->priorityMessenger("El registro se ha eliminado", "success");
					$this->_helper->redirector("index");
				} catch (Exception $e) {
					$this->view->priorityMessenger($e->getMessage(), "error");
				}
			}
                
        } elseif($this->getRequest()->isPost() && $form->isValid($this->getRequest()->getPost())) {
        try {
                $form->getElement("codlista")->setValue($this->infoLista["codlista"]);
                $escalasService->guardarEscala($form->getValues());
                $this->view->priorityMessenger("Los datos se han guardado correctamente.", "success");
                $this->_helper->redirector("index");
            } catch(Exception $e) {
                $this->view->priorityMessenger($e->getMessage(), "error");
            }
        }
        $this->view->form = $form;
        $this->view->datos = $escalasService->getEscalasValoracion($this->infoLista["codlista"]);
    }
    
}//fin de la clase

